#ifndef __LIST_H__
#define __LIST_H__

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

typedef char * ElemType;          // 数据域存储图片路径

typedef struct node
{
    ElemType data;                //数据域
    struct node *prev;            //前驱
    struct node *next;            //后继
}Dul_LNode,*Dul_pLinkList;

/**
 * @brief 链表头节点初始化  
 * 
 * @param L 头节点地址
 * @return true：初始化成功  false:初始化失败
 */
extern bool InitList(Dul_pLinkList *L);

/**
 * @brief 链表任意位置插入节点数据
 * 
 * @param L 头节点变量
 * @param index 插入的位置  
 * @param e 插入的数据
 * @return true false
 */
extern bool InsertLinst(Dul_pLinkList L,int index,ElemType e);

/**
 * @brief 链表的遍历(正向)
 * 
 * @param L 头节点指针变量
 */
extern void ShowList(Dul_pLinkList L);

/**
 * @brief 链表的销毁
 * 
 * @param L 头节点的地址
 */
extern void ListDestory(Dul_pLinkList *L);
#endif